package com.tjetc.utils;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;

@RestController
@RequestMapping("/upload")
public class UploadController {
    @PostMapping("uploading")
    public String uploadImage(@RequestParam("file") MultipartFile file) {
        return saveImage(file, "D:/upload");
    }
    @PostMapping("saveImage")
    public String saveImage(@RequestParam("file") MultipartFile file, String targetDirPath) {
        if (file.isEmpty()){
            return "文件不能为空";
        }
        try {
            // 获取文件原名称
            String originalFilename = file.getOriginalFilename();
            // 获取文件格式
            String fileFormat = originalFilename.substring(originalFilename.lastIndexOf("."));
            // 生成新的文件名（防止文件名冲突）
            String newFileName = System.currentTimeMillis() + fileFormat;
            // 创建目标文件路径
            String targetFilePath = targetDirPath + File.separator + newFileName;
            File targetFile = new File(targetFilePath);
            // 如果目标文件夹不存在，则创建
            if (!targetFile.getParentFile().exists()) {
                targetFile.getParentFile().mkdirs();
            }
            // 将上传的文件复制到目标文件
            file.transferTo(targetFile);
            return "upload/"+newFileName; // 返回保存的文件路径
        } catch (Exception e) {
            e.printStackTrace();
            return "上传失败";
        }



    }

}
